//
// Created by Administrator on 2024/9/7.
/*
 * 讲解: https://www.luogu.com.cn/problem/solution/P8814
 * OJ:https://www.luogu.com.cn/problem/P8814 40% TLE
 *  P8814 [CSP-J 2022] 解密

给定一个正整数 k，有 k 次询问，每次给定三个正整数 ni,ei,di，求两个正整数 pi,qi​，使 ni=pi×qi​、ei×di=(pi−1)(qi−1)+1。
输入格式
第一行一个正整数 k，表示有 k 次询问。
接下来 k 行，第 i 行三个正整数 ni,di,ei
输出格式
输出 k 行，每行两个正整数 pi,qi​ 表示答案。
为使输出统一，你应当保证 pi≤qi
如果无解，请输出 NO。
输入输出样例
输入
10
770 77 5
633 1 211
545 1 499
683 3 227
858 3 257
723 37 13
572 26 11
867 17 17
829 3 263
528 4 109
输出
2 385
NO
NO
NO
11 78
3 241
2 286
NO
NO
6 88

说明/提示

【样例 #2】

见附件中的 decode/decode2.in 与 decode/decode2.ans。

【样例 #3】

见附件中的 decode/decode3.in 与 decode/decode3.ans。

【样例 #4】

见附件中的 decode/decode4.in 与 decode/decode4.ans。

【数据范围】

以下记 m=n−e×d+2

保证对于 100%的数据，1≤k≤105，对于任意的 1≤i≤k，1≤ni≤1018，1≤ei×di≤1018 ，1≤m≤109。
测试点编号 	k≤ 	n≤ 	m≤ 	特殊性质
1 	10^3 	10^3 	10^3 	保证有解
2 	10^3 	10^3 	10^3 	无
3 	10^3 	10^9 	6×10^4 	保证有解
4 	10^3 	10^9 	6×10^4 	无
5 	10^3 	10^9 	10^9 	保证有解
6 	10^3 	10^9 	10^9 	无
7 	10^5 	10^18 	10^9 	保证若有解则 p=q
8 	10^5 	10^18 	10^9 	保证有解
9 	10^5 	10^18 	10^9 	无
10 	10^5 	10^18 	10^9 	无
* */



#include <iostream>
#include <vector>

using namespace std;

int main()

{
    int k,n,e,d;
    cin>>k;
    while(k--)
    {
        cin>>n>>d>>e;
        bool no=1;
        for (int p = 1; p * p <= n; ++p)
        {
            int q=n/p;
            if (p*q==n && e*d==(n-p-q+2))
            {
                cout<<p<<' '<<q<<endl;
                no=0;
                break;
            }
        }
        if(no)

            cout<<"NO"<<endl;
    }
    return 0;

}
